package com.mhb.generator.config;

import com.mhb.generator.config.rules.NamingStrategy;
import lombok.Data;
import lombok.experimental.Accessors;

/**
 * 字段策略
 * @author 博博
 * @Title: StrategyConfig
 * @time 2019/12/27 0027 10:40
 */
@Data
@Accessors(chain = true)
public class StrategyConfig {

    /**
     * 映射策略
     */
    private NamingStrategy namingStrategy = NamingStrategy.underline_to_camel;

    /**
     * 表名前缀
     */
    private String tablePrefix = "";

    /**
     * 表名数组
     */
    private String[] tables;

    /**
     * 【实体】是否为构建者模型（默认 false）<br>
     * -----------------------------------<br>
     * public User setName(String name) { this.name = name; return this; }
     */
    private boolean entityBuilderModel = false;
    /**
     * 【实体】是否为lombok模型（默认 false）<br>
     * <a href="https://projectlombok.org/">document</a>
     */
    private boolean entityLomBokModel = true;

    // 模板名称
    private String serviceName = ConstantVal.SERVICE_NAME;
    private String serviceImplName = ConstantVal.SERVICE_IMPL_NAME;
    private String mapperName = ConstantVal.MAPPER_NAME;
    private String controllerName = ConstantVal.CONTROLLER_NAME;


    /**
     * 实体是否生成 serialVersionUID
     */
    private boolean entitySerialVersionUID = true;

}
